package com.jdd.modules.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jdd.modules.system.entity.SysUserDepart;
import com.jdd.modules.system.entity.vo.UserDeptVo;

public interface SysUserDepartMapper extends BaseMapper<SysUserDepart>{

	/**
	 * 根据userId获取用户所在部门
	 * @param userId
	 * @return
	 */
	List<SysUserDepart> getUserDepartByUid(@Param("userId") String userId);

	/**
	 * @Title: delUserDeptList
	 * @Description:批量删除用户和车场组的关联关系
	 * @param userDeptList
	 * @author: zjf
	 * @date 2021年10月15日
	 * @version 1.0
	 */
	void delUserDeptBatch(List<SysUserDepart> userDeptList);

	/**
	 * @Title: saveUserDeptBatch
	 * @Description:批量新增用户和车场组的关联关系
	 * @param userDeptList
	 * @author: zjf
	 * @date 2021年10月15日
	 * @version 1.0
	 */
	void saveUserDeptBatch(List<SysUserDepart> list);

	/**
	 * @Title: getUserByRoleId
	 * @Description:查询所有关联车场组的用户
	 * @param page
	 * @param roleId
	 * @param username
	 * @return
	 * @author: zjf
	 * @date 2021年10月20日
	 * @version 1.0
	 */
	IPage<UserDeptVo> getDeptByUserPage(Page page,@Param("deptIds") List<String> deptIds);

	/**
	 * @Title: selectDeptIdByUserCount
	 * @Description:根据deptId查询车场组下绑定的用户
	 * @param deptIds
	 * @return
	 * @author: zjf
	 * @date 2021年11月2日
	 * @version 1.0
	 */
	Integer selectDeptIdByUserCount(@Param("deptIds") List<String> deptIds);

	boolean removeBind(@Param("id") String id);
}
